<?php
namespace Rainrock\Framework\kernel\core;

use Rainrock\Framework\kernel\base\Rock;
use Rainrock\Framework\kernel\db\DB;

/**
*	基本class，写一下要经常用到的方法
*/
class BaseClass{
	
	/**
	*	数据库操作对象
	*/
	protected $nDb = null;
	
	/**
	*	设置对应数据库
	*/
	public final function setDb($db)
	{
		$this->nDb = $db;
	}
	
	/**
	*	设置对应数据库
	*/
	public final function getDb()
	{
		 if($this->nDb === null)$this->setDb(DB::get());
		 return $this->nDb;
	}
	
	/**
	*	数据库是否有错
	*/
	protected final function dbError($bo=false)
	{
		if($bo)return $this->nDb->isError;
		return $this->nDb->error();
	}
	
	/**
	* 	返回错误
	*/
	protected function returnerror($msg='', $code=201, $data='')
	{
		return Rock::returnerror($msg, $code, $data);
	}

	/**
	* 	返回成功
	*/
	protected function returnsuccess($data='', $msg='')
	{
		return Rock::returnsuccess($data, $msg);
	}
	
	/**
	* 	返回成功
	*/
	protected final function isempt($str)
	{
		return Rock::isempt($str);
	}
	
	/**
	*	是否有包含
	*/
	protected final function contain($str,$str1)
	{
		return Rock::contain($str,$str1);
	}
	
	/**
	*	是否有arr的值
	*/
	protected final function arrvalue($arr, $key, $dev='')
	{
		return Rock::arrvalue($arr, $key, $dev);
	}
	
	
	/**
	*	获取Model
	*/
	protected final function getModel($table)
	{
		return Model::get($table, $this->getDb());
	}
	
	/**
	*	获取Model
	*/
	protected final function m($table)
	{
		return $this->getModel($table);
	}
	
	/**
	*	获取插件
	*/
	protected final function getChajian($name)
	{
		return Chajian::getObj($name, $this->nDb);
	}
	
	/**
	*	获取插件
	*/
	protected final function c($name)
	{
		return $this->getChajian($name);
	}
	
	/**
	*	加日志
	*/
	protected final function addLogfile($name, $cont)
	{
		return $this->m('syslog')->addFile($name, $cont);
	}
}